package com.hk.housekeeping.mapper;/*
 * @author  pyh
 * @date  2021/1/30 0030 上午 9:51
 * @version 1.0
 * @since JDK1.8_241
 */

import com.hk.housekeeping.entity.Advertise;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface IAdMapper {
    /**
     *添加
     * @param advertise
     * @return
     */
    int insert(@Param("advertise") Advertise advertise);

    /**
     * 删除（伪删除）
     * @param id
     * @return
     */
    int del(@Param("id") int id);

    /**
     * 查询一条广告信息
     * @return
     */
    Advertise list(@Param("id") int id);

    /**
     * 修改
     * @param advertise
     * @return
     */
    int update(@Param("advertise") Advertise advertise);

    //通过广告名称查询
    List<Advertise> getAdName(@Param("name") String name, @Param("currentPage") int currentPage, @Param("pageSize") int pageSize);
    //根据广告名称查询的总条数
    int selectTotalCountByName(@Param("name") String name);

    //根据状态值进行查询
    List<Advertise> getAdStatus(@Param("status") int status, @Param("currentPage") int currentPage, @Param("pageSize") int pageSize);
    //根据状态值进行查询总条数
    int selectTotalCountByStatus(@Param("status") int status);

    //通过广告名称和状态值共同查询
    List<Advertise> selectAdByDouble(@Param("name") String name, @Param("status") int status, @Param("currentPage") int currentPage, @Param("pageSize") int pageSize);
    //通过广告名称和状态值共同查询的总条数
    int selectTotalCountByDouble(@Param("name") String name, @Param("status") int status);

    /**
     * 分页查询
     * @param currentPage 当前页
     * @param pageSize  总页数
     * @return
     */
    List<Advertise> pageSelect(@Param("currentPage") int currentPage, @Param("pageSize") int pageSize);

    /**
     * 查询总条数
     * @return
     */
    int getTotalCount();
}
